home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Environments / Clean 1.2.4 / IOInterface / menuDef.dcl < prev    next >
Encoding:
Modula Definition  |  1995-03-02  |  1.2 KB  |  38 lines  |  [TEXT/3PRM]

  1. definition module menuDef;
  2.  
  3. //    Version 0.8 to 1.0
  4.  
  5. //
  6. //    MenuDefinitions:
  7. //
  8.  
  9.  
  10. import    commonDef;
  11.  
  12.  
  13. ::    MenuDef *s *io
  14.     =    PullDownMenu MenuId MenuTitle SelectState [MenuElement s io];
  15. ::    MenuElement *s *io
  16.     =    MenuItem        MenuItemId    ItemTitle KeyShortcut SelectState            (MenuFunction s io)
  17.     |    CheckMenuItem    MenuItemId    ItemTitle KeyShortcut SelectState MarkState (MenuFunction s io)
  18.     |    SubMenuItem        MenuId        ItemTitle              SelectState    [MenuElement  s io]
  19.     |    MenuItemGroup    MenuItemGroupId                                    [MenuElement  s io]
  20.     |    MenuRadioItems    MenuItemId                                        [RadioElement s io]
  21.     |    MenuSeparator;
  22. ::    RadioElement *s *io
  23.     =    MenuRadioItem MenuItemId ItemTitle KeyShortcut SelectState (MenuFunction s io);
  24. ::    MenuFunction *s *io
  25.     :== s -> *(io -> (s, io));
  26. ::    MenuId              :== Int;
  27. ::    MenuTitle        :== String;
  28. ::    MenuItemId          :== Int;
  29. ::    MenuItemGroupId    :== Int;
  30. ::    KeyShortcut        =  Key KeyCode | NoKey;
  31.  
  32.  
  33. MenuDef_MenuId            :: !(MenuDef s io)                        -> MenuId;
  34. MenuDef_SelectState        :: !(MenuDef s io)                        -> SelectState;
  35. MenuDef_Elements        :: !(MenuDef s io)                        -> [MenuElement s io];
  36. MenuDef_SetAbility        :: !(MenuDef s io) !SelectState            -> MenuDef s io;
  37. MenuDef_ReplaceElements    :: !(MenuDef s io) ![MenuElement s io]    -> MenuDef s io;
  38.